tg-me.com/mobileproglib/5916
Last Update:
How to: внедряем Jetpack Compose в существующий проект
Хотите использовать современный Compose, но проект уже написан на XML-вёрстке? Разберём, как добавить Compose без переписывания всего кода.
Добавьте зависимости в build.gradle
:
android {
buildFeatures {
compose true
}
}
dependencies {
implementation "androidx.compose.ui:ui:1.6.0"
implementation "androidx.compose.material:material:1.6.0"
}
Используйте
ComposeView
в XML-разметке:<androidx.compose.ui.platform.ComposeView
android:id="@+id/compose_view"
android:layout_width="match_parent"
android:layout_height="wrap_content" />
И настраивайте из кода:
findViewById<ComposeView>(R.id.compose_view).setContent {
Text("Это Compose внутри старого XML!")
}
Compose
для сложных анимацийДля взаимодействия между частями:
// View → Compose
composeView.setContent {
MyComposeScreen(onClick = { /* обработка */ })
}
// Compose → View
AndroidView({ TextView(context) }) { view ->
view.text = "Текст из Compose"
}
Уже пробовали мигрировать на Compose? Делитесь опытом в комментариях
#буст